package com.syys.privacy.service.impl;


import java.util.List;

import com.syys.common.utils.DateUtils;
import com.syys.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.syys.privacy.mapper.QaPersonalInfoMinorMapper;
import com.syys.privacy.domain.QaPersonalInfoMinor;
import com.syys.privacy.service.IQaPersonalInfoMinorService;
import com.syys.common.core.text.Convert;

/**
 * 个人信息的委托处理、共享、转让和公开披露Service业务层处理
 *
 * @author ys
 * @date 2021-07-26
 */
@Service
public class QaPersonalInfoMinorServiceImpl implements IQaPersonalInfoMinorService {
    @Autowired
    private QaPersonalInfoMinorMapper qaPersonalInfoMinorMapper;

    /**
     * 查询个人信息的委托处理、共享、转让和公开披露
     *
     * @param minorId 个人信息的委托处理、共享、转让和公开披露ID
     * @return 个人信息的委托处理、共享、转让和公开披露
     */
    @Override
    public QaPersonalInfoMinor selectQaPersonalInfoMinorById(Long minorId) {
        return qaPersonalInfoMinorMapper.selectQaPersonalInfoMinorById(minorId);
    }

    /**
     * 查询个人信息的委托处理、共享、转让和公开披露列表
     *
     * @param qaPersonalInfoMinor 个人信息的委托处理、共享、转让和公开披露
     * @return 个人信息的委托处理、共享、转让和公开披露
     */
    @Override
    public List<QaPersonalInfoMinor> selectQaPersonalInfoMinorList(QaPersonalInfoMinor qaPersonalInfoMinor) {
        return qaPersonalInfoMinorMapper.selectQaPersonalInfoMinorList(qaPersonalInfoMinor);
    }

    /**
     * 新增个人信息的委托处理、共享、转让和公开披露
     *
     * @param qaPersonalInfoMinor 个人信息的委托处理、共享、转让和公开披露
     * @return 结果
     */
    @Override
    public Long insertQaPersonalInfoMinor(QaPersonalInfoMinor qaPersonalInfoMinor) {
        if(StringUtils.isNull(qaPersonalInfoMinor.getMinorId())){
            qaPersonalInfoMinor.setCreateTime(DateUtils.getNowDate());
            qaPersonalInfoMinorMapper.insertQaPersonalInfoMinor(qaPersonalInfoMinor);
        } else {
            qaPersonalInfoMinor.setUpdateTime(DateUtils.getNowDate());
            qaPersonalInfoMinorMapper.updateQaPersonalInfoMinor(qaPersonalInfoMinor);
        }
        return qaPersonalInfoMinor.getMinorId();
    }

    /**
     * 修改个人信息的委托处理、共享、转让和公开披露
     *
     * @param qaPersonalInfoMinor 个人信息的委托处理、共享、转让和公开披露
     * @return 结果
     */
    @Override
    public int updateQaPersonalInfoMinor(QaPersonalInfoMinor qaPersonalInfoMinor) {
        qaPersonalInfoMinor.setUpdateTime(DateUtils.getNowDate());
        return qaPersonalInfoMinorMapper.updateQaPersonalInfoMinor(qaPersonalInfoMinor);
    }

    /**
     * 删除个人信息的委托处理、共享、转让和公开披露对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteQaPersonalInfoMinorByIds(String ids) {
        return qaPersonalInfoMinorMapper.deleteQaPersonalInfoMinorByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除个人信息的委托处理、共享、转让和公开披露信息
     *
     * @param minorId 个人信息的委托处理、共享、转让和公开披露ID
     * @return 结果
     */
    @Override
    public int deleteQaPersonalInfoMinorById(Long minorId) {
        return qaPersonalInfoMinorMapper.deleteQaPersonalInfoMinorById(minorId);
    }
}